package 滑动窗口;

public class test2 {
    public int lengthOfLongestSubstring(String s) {
        char[] chars = s.toCharArray();
        int[] nums = new int[128];//模拟哈希表
        int n = chars.length;
        int result = Integer.MIN_VALUE;
        for(int left=0,right=0;right<n;right++){
            nums[chars[right]]++;
            while(nums[chars[right]]>1){
                // 只要出现了重复的字符,就要在窗口一直出,直到重复的这个字符出窗口
                nums[chars[left]]--;
                left++; // 出
            }
            result = Math.max(result,right-left+1);
        }
        return result==Integer.MIN_VALUE?0:result;
    }
}
